import { Command } from "../class/Command";
import { MessageType } from "../class/messageType";
import { RoleFactory } from "../factory/RoleFactory";
import { DefaultRole } from "../roles/默认角色";

/**
 * 用户准备开始游戏
 */
export class CheckRole extends Command {
    static commandName: string = "选择";
    invoke() {
        // 获得欲选择的角色
        let roleName: string | undefined;
        // 如果没有提供角色名，使用默认角色
        if (this.context.hasNextParam()) {
            roleName = this.context.nextParam();
        } else {
            roleName = DefaultRole.roleName; // 默认角色
        }
        if(RoleFactory.getByName(roleName)){
            
        }
        // 添加到已准备名单
        this.game.addCheckRoles({ id: this.context.getId(), userName: this.context.getName(), roleName });
        // 通知选择成功
        this.game.message.addMessageType(MessageType.toAt(this.context.getId()));
        this.game.message.add(` 选择了 [${roleName}] 角色,请耐心等待游戏开始。`)
    }
}